import { ICriteriaOutput } from "./criteriaOutput.interface";
import { TemplateCriteriaModel } from "../../../../../models/templateCriteria.model";

export class SliderOutput extends TemplateCriteriaModel implements ICriteriaOutput {
    public setBaseClass(base: TemplateCriteriaModel) {
        this.setProperties(base);
    }

    constructor(public score: number, public answersText: string) {
        super();
    }
}

export class HistogramOutput implements ICriteriaOutput {
    constructor(public minValue: number, public maxValue: number) { }
}

export class MultiselectOutput implements ICriteriaOutput {
    constructor(
        public criteriaLevel3Id: string,
        public criteriaLevel2Id: string,
        public id: string,
        public name: string,
        public selectedItems: string[]) { }
}

export class InvolvementOutput implements ICriteriaOutput {
    constructor(
        public symbol: string,        
        public selectedCategories: InvolvementCategoryOutput[]) { }
}

export class InvolvementCategoryOutput {
    constructor(
        public id: string,
        public categoryOfInvolvement: string,
        public isSignificantOwnership: boolean,
        public isInvolvement: boolean,
        public revenueRange: boolean,
        public start: number,
        public stop: number,
        public categorySymbol: string
    ) { }
}